#导入random模块
import random

#以追加方式打开ips.txt文件
fp = open("ips.txt","a+")

#随机生成ip地址，写入文本
for i in range(120000):
    ip_tail = random.randint(1,254)
    ip = "172.25.254." + str(ip_tail)
    fp.write(ip+"\n")

#光标移至最前面
fp.seek(0)
#定义一个集合，存储ip地址和出现的次数
ip_number = {}

#逐行遍历列表，ip如果存在字典里，value就+1；否则将ip地址存入到字典，并且value赋值1
for line in fp.readlines():
    if line in ip_number:
        ip_number[line] += 1
    else:
        ip_number[line] = 1

#将字典里的value值存入到一个列表
lst = list(ip_number.values())
#将出现的次数排序
lst.sort()
#去前10个ip（虽然第10个ip出现的次数可能和后面的ip出现的次数相等，但是不影响）
lst1 = lst[0:10]
#定义一个字典，存取最后的结果
result = {}
#遍历ip_number的键值对，如果第二个元素（也就是出现的次数）在列表里，就将这对键值，存入到result
for i in ip_number.items():
    if i[1] in lst1:
        result[i[0]] = i[1]
#遍历字典，打印结果
for i,j in result.items():
    print(f"{i[0:-1]}:{j}")

    # for i in result:
    #     print(f"{i}:{result[i]}")





